//
//  UUNotificationManager.h
//  UUCharterSupplier
//
//  Created by ZhangAo on 23/01/2018.
//  Copyright © 2018 UUCharter. All rights reserved.
//

#import <UUFoundation/DKBaseManager.h>
#import "UUNotificationConstants.h"
#import "UUNotificationModel.h"
#import "UUNotificationUnreadCountModel.h"

@protocol UUNotificationManagerObserver

- (void)notificationManagerDidUpdateUnreadCount;

@end

#define GetNotificationManager()        ([UUNotificationManager sharedInstance])

@interface UUNotificationManager : DKBaseManager

// 获取通知列表
- (void)asyncFetchNotificationsWithType:(UUNotificationType)type
                                  since:(id)since
                                 length:(int)length
                          completeBlock:(void (^)(NSArray<UUNotificationModel *> *notifications, id since, NSError *error))completeBlock;

// 更新消息未读数
- (void)asyncUpdateUnreadCount;

// 获取消息未读数
- (UUNotificationUnreadCountModel *)fetchNotificationUnreadCount;

- (void)clearUnreadCountForMessage;

- (void)clearUnreadCountForProduct;

- (void)clearUnreadCountForNews;

@end
